package com.bwda.dsrs.filecenter.mapper.dsrs;

import com.bwda.dsrs.filecenter.domain.condition.home.HomeCountCondition;
import com.bwda.dsrs.filecenter.domain.vo.HomeCountVo;
import feign.Param;

import java.util.List;

/**
 * Home count mapper
 * @author Administrator
 */
public interface HomeCountMapper extends BaseMapper<HomeCountVo, HomeCountCondition> {


    /**
     * 获取状态为启用的所有任务列表
     *
     * @return list
     */
    List<HomeCountVo> selectDbTypeCount();

    /**
     * Select level count list
     *
     * @return the list
     */
    List<HomeCountVo> selectLevelCount();

    /**
     * Select level type count list
     *
     * @return the list
     */
    List<HomeCountVo> selectLevelTypeCount();

    /**
     * Select db info type count list
     *
     * @return the list
     */
    List<HomeCountVo> selectDbInfoTypeCount();

    /**
     * Select word id count list
     *
     * @return the list
     */
    List<HomeCountVo> selectWordIdCount();


    /**
     * Query level count int
     *
     * @param taskId        task id
     * @param taskHistoryId task history id
     * @return the int
     */
    int queryLevelCount(@Param("taskId") Long taskId, @Param("taskHistoryId") Long taskHistoryId);

    /**
     * Query sens label count int
     *
     * @param taskId        task id
     * @param taskHistoryId task history id
     * @return the int
     */
    int querySensLabelCount(@Param("taskId") Long taskId, @Param("taskHistoryId") Long taskHistoryId);

    /**
     * Query levels count list
     *
     * @param taskId        task id
     * @param taskHistoryId task history id
     * @return the list
     */
    List<HomeCountVo> queryLevelsCount(@Param("taskId") Long taskId, @Param("taskHistoryId") Long taskHistoryId);

    /**
     * Query level type count list
     *
     * @param taskId        task id
     * @param taskHistoryId task history id
     * @return the list
     */
    List<HomeCountVo> queryLevelTypeCount(@Param("taskId") Long taskId, @Param("taskHistoryId") Long taskHistoryId);

    /**
     * Query word id count list
     *
     * @param taskId        task id
     * @param taskHistoryId task history id
     * @return the list
     */
    List<HomeCountVo> queryWordIdCount(@Param("taskId") Long taskId, @Param("taskHistoryId") Long taskHistoryId);
}